import jWeixin from "weixin-js-sdk"
// 我们自己查要分享的数据的接口
import {getWxConfig} from '@/api/index.js'
import {getRequest} from '@/static/js/common.js';
import {shareConfig} from './shareConfig.js'
export const wxSdk = {
	appId: '',
	init(reset) {
		let u = navigator.userAgent;
		const {params, shareData} = this.getShareData()
		if(reset){ params.refreshSignature = true }
		getWxConfig(params).then(res => {
			const data = res.data
			jWeixin.config({
				debug: false, // 生产环境需要关闭debug模式
				appId: data.appId, // appId通过微信服务号后台查看
				timestamp: data.timestamp, // 生成签名的时间戳
				nonceStr: data.nonceStr, // 生成签名的随机字符串
				signature: data.signature, // 签名
				jsApiList: [
					// 需要调用的JS接口列表
					'openLocation',
					'invoke',
					'openDefaultBrowser',
					'onMenuShareAppMessage', // 1.0 分享到朋友
					'onMenuShareTimeline', // 1.0分享到朋友圈
					'updateTimelineShareData', // 分享给好友
					'updateAppMessageShareData', // 分享到朋友圈
					'openUrl',
				]
			})
			// console.log('jWeixin',jWeixin)
			// jWeixin.error((err)=>{
			// 	console.log(err)
			// 	console.log('苹果手机卡片分享首次签名失效，重新刷新一次页面')
			// 	// 苹果手机卡片分享首次签名失效，重新刷新一次页面
			// 	const jwx_status = uni.getStorageSync('jwx_status')
			// 	if(jwx_status != 1 ){
			// 		uni.setStorageSync('jwx_status', '1')
			// 		window.location.reload(true)
			// 	}
			// 	// if (/(iPhone|iPad|iPod|iOS)/i.test(u)) {
			// 	// 	// window.location.replace(location.href);
			// 	// 	window.location.reload(true)
			// 	// }
			// })
		})
	},
	update(share) {
		const {params, shareData} = this.getShareData(share)
		console.log('update',params, shareData)
		// 更新微信分享配置的参数没有，那么表示当前页不是主要的分享。者不请求微信分享配置接口
		if(params.shareDataId){
			getWxConfig(params).then(res => {
				this.setShareData(shareData, res.data)
			})
		}else{
			this.setShareData(shareData)
		}
	},
	// 设置微信分享配置内容
	setShareData(shareData, data){
		if(data){
			const { title, content, image } = data
			if (shareData.title.includes('XXX')) {
				shareData.title = shareData.title.replace(/XXX/g, title)
			} else if (title) {
				shareData.title = title
			}
			if (content) {
				shareData.desc = content
			}
			if (image) {
				shareData.imgUrl = image
			}
		}
		// console.log('shareData----', data, shareData);
		jWeixin.ready(function() {
			jWeixin.updateAppMessageShareData({
				type: 'link',
				title: shareData.title,
				desc: shareData.desc,
				link: shareData.link,
				imgUrl: shareData.imgUrl,
				success: function () {
				  // 设置成功
				}
			})
			jWeixin.updateTimelineShareData({
				type: 'link',
				title: shareData.title,
				desc: shareData.desc,
				link: shareData.link,
				imgUrl: shareData.imgUrl,
				success: function () {
				  // 设置成功
				}
			})
		})
	},
	// 获取当前定位地址
	openLocation(data){
		jWeixin.ready(function(res){
			jWeixin.openLocation({
				latitude: parseFloat(data.lat), // 纬度，浮点数，范围为90 ~ -90
				longitude: parseFloat(data.lng), // 经度，浮点数，范围为180 ~ -180。
				name: data.name, // 位置名
				address: data.address, // 地址详情说明
				scale: 15, // 地图缩放级别,整形值,范围从1~28。默认为最大
				success:function(res){
				},
				fail:function(res){
					// console.log('失败',res)
				}
			});
		});
	},
	openDefaultBrowser(url, callback){
		jWeixin.ready(function(res){
			jWeixin.invoke('openUrl', {
				'url': url ,// 在默认浏览器打开redirect_uri，并附加code参数；也可以直接指定要打开的url，此时不会附带上code参数。
				openType: 2
			}, callback);
		});
	},
	// 获取本地分享配置内容
	getShareData(share){
		let url = uni.getSystemInfoSync().platform === 'ios' ? uni.getStorageSync('url') : window.location.href
		url = share ? share : url
		const params = {
			url: url.split('#')[0], // url, //.replace('/#/', '//'),
			shareDataId: '',
			shareType: 0
		}
		const shareData = {
			"imgUrl": "https://ebc-prod.cdn.benwunet.com/uni-static/h5/logo_new.png",
			"link": url,
			"desc": '本无名片，是基于用户对商务人脉的拓展及商务合作精准推荐的需求，由本无网络科技有限公司自主研发的一款创新型商务社交产品。',
			"title": '本无名片，商务人脉，社交，本无网络科技有限公司'
		};
		shareConfig.filter((item, index) => {
			if (url.toUpperCase().includes(item.path.toUpperCase())) {
				params.shareDataId = getRequest(url, item.id)
				params.shareType = item.type
				shareData.title = item.title
				shareData.desc = item.desc
				if(item.imgUrl){
					shareData.imgUrl = item.imgUrl
				}
				
			}
		})
		return {params, shareData}
	},
}
// export default wxSdk